package com.xbongbong.pro.statistic.pojo.dto;

import com.xbongbong.paas.toolbox.wrap.BaseDTO;
import com.xbongbong.paas.toolbox.wrap.QueryIgnore;
import com.xbongbong.pro.statistic.enums.ChartTypeEnum;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

import javax.validation.constraints.NotNull;
import java.util.List;

/**
 * @author zyy
 * @date 2022/11/30/ 16:48:00
 * @since v1.0
 */
@Setter
@Getter
@ToString
public class LinkageListDTO extends BaseDTO {
    private static final long serialVersionUID = -3148418350102135634L;

    /**
     * 自定义、系统标志
     * @see com.xbongbong.pro.statistic.enums.StatisticsTypeEnum
     */
    @NotNull(message = "{dto.msg.chartPublish.statisticsType.NotNull}")
    @Getter(onMethod_ = {@QueryIgnore})
    private Integer statisticsType;
    /**
     * 图表id
     */
    @NotNull(message = "{dto.msg.chartId.NotNull}")
    @Getter(onMethod_ = {@QueryIgnore})
    private Long id;

    /**
     * 图表所在的分类id
     */
    @NotNull(message = "{dto.msg.categoryId.NotNull}")
    private Long categoryId;

    /**
     * 图表类型
     */
    @NotNull(message = "{dto.msg.chartType.NotNull}")
    @Getter(onMethod_ = {@QueryIgnore})
    private Integer chartType;

    /**
     * 删除标记
     * 该字段不与前端交互，
     * @see com.xbongbong.paas.enums.DelEnum
     */
    private Integer del;

    /**
     * 图表是否启用 1开启，0未开启；初始化时默认1
     * 该字段不与前端交互
     */
    private Integer enable;

    /**
     * 图表类型数组
     * 该字段不与前端交互
     */
    private List<Integer> chartTypeIn;

    public LinkageListDTO() {
        this.del = 0;
        this.enable = 1;
        //图表类型，读取除了查询条件以外的图表类型
        this.chartTypeIn = ChartTypeEnum.getChartTypeIn4Web();
    }
}
